Gentle Formalisation of Stoughton’s Lambda Calculus Substitution
نویسندگان
چکیده
In [5], Allen Stoughton proposed a notion of substitution for the Lambda calculus formulated in its original syntax with only one sort of symbols (names) for variables –without identifying α-convertible terms. According to such formulation, the action of substitution on terms is defined by simple structural recursion and an interesting theory arises concerning e.g. α conversion. In this paper we present a formalisation of Stoughton’s development in Constructive Type Theory using the language Agda, up to the Substitution Lemma for α conversion. The code obtained is quite concise and we are able to formulate some improvements over the original presentation. For instance, our definition of α conversion is just syntax directed but we are nevertheless able to prove in an easy way that it gives rise to an equivalence relation, whereas in [5] the latter was included as part of the definition. As a result of this work we are inclined to assert that Stoughton’s is the right way to formulate the Lambda calculus in its original, conventional syntax and that it is a formulation amenable to fully formal treatment.
منابع مشابه
Formalisation of Stoughton's Substitution for Lambda Calculus in Constructive Type Theory
In [7], Allen Stoughton proposed a notion of substitution for the Lambda calculus formulated in its original syntax with only one sort of symbols (names) for variables and without identifying α-convertible terms. According to such formulation, the action of substitution on terms is de ned by simple structural recursion and an interesting theory arises concerning e.g. α conversion. In this paper...
متن کاملOn Stepwise Explicit Substitution
This paper starts by setting the ground for a lambda calculus notation that strongly mirrors the two fundamental operations of term construction, namely abstraction and application. In particular, we single out those parts of a term, called items in the paper, that are added during abstraction and application. This item notation proves to be a powerful device for the representation of basic sub...
متن کاملUsability: Formalising (un)deenedness in Typed Lambda Calculus
In this paper we discuss usability, and propose to take that notion as a formalisation of (un)deenedness in typed lambda calculus, especially in calculi based on PCF. We discuss some important properties that make usability attractive as a formalisation of (un)deenedness. There is a remarkable diierence between usability and solvability: in the untyped lambda calculus the solvable terms are pre...
متن کاملA Formalisation of a Dependently Typed Language as an Inductive-Recursive Family
It is demonstrated how a dependently typed lambda calculus (a logical framework) can be formalised inside a language with inductiverecursive families. The formalisation does not use raw terms; the welltyped terms are defined directly. It is hence impossible to create ill-typed terms. As an example of programming with strong invariants, and to show that the formalisation is usable, normalisation...
متن کاملHigher-order semantics for quantum programming languages with classical control
This thesis studies the categorical formalisation of quantum computing, through the prism of type theory, in a three-tier process. The first stage of our investigation involves the creation of the dagger lambda calculus; a lambda calculus for dagger compact categories [AC04]. Our second contribution lifts the expressive power of the dagger lambda calculus to that of a quantum programming langua...
متن کامل